package main

import (
	"fmt"
	"server/utils/zaplog"
	"strconv"

	"github.com/gin-gonic/gin"
)

func init() {
	zaplog.InitLog(&zaplog.Config{
		Logdir:   "./",
		LogName:  "server.log",
		Loglevel: "debug",
		Debug:    true},
	)
}

func main() {
	router := gin.Default()

	router.POST("/add", func(c *gin.Context) {
		var (
			a       int
			b       int
			err     error
			message string
		)

		defer func() {
			if err != nil {
				message = err.Error()
			}
			c.JSON(200, gin.H{
				"status":  "posted",
				"message": message,
				"sum":     a + b,
			})
		}()

		a, err = strconv.Atoi(c.PostForm("a"))
		if err != nil {
			zaplog.Errorf(`c.PostForm("a") err %w`, err)
			return
		}

		b, err = strconv.Atoi(c.DefaultPostForm("b", "10"))
		if err != nil {
			zaplog.Errorf(`c.DefaultPostForm("b", "10") err %w`, err)
			return
		}
		message = fmt.Sprintf("计算%d+%d=%d", a, b, a+b)
		zaplog.Infof("msssage[%s]", message)
	})
	router.Run(":8080")
}
